#include "pch.h"
const struct _TOKEN Lhs[RULES_COUNT]= 
{
	{NON_TERMINAL, "S"},
	{NON_TERMINAL, "S"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "STATEMENT"},
	{NON_TERMINAL, "ASSIGN_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "CALL_FUNC_STATEMENT"},
	{NON_TERMINAL, "VA"},
	{NON_TERMINAL, "VA"},
	{NON_TERMINAL, "IF_STATEMENT"},
	{NON_TERMINAL, "ELSIF_STATEMENT"},
	{NON_TERMINAL, "ELSIF_STATEMENT"},
	{NON_TERMINAL, "ELSIF_STATEMENT'"},
	{NON_TERMINAL, "ELSE_STATEMENT"},
	{NON_TERMINAL, "ELSE_STATEMENT"},
	{NON_TERMINAL, "END_OF_IF"},
	{NON_TERMINAL, "WHILE_STATEMENT"},
	{NON_TERMINAL, "DO_WHILE_STATEMENT"},
	{NON_TERMINAL, "FOR_STATEMENT"},
	{NON_TERMINAL, "SIMPLE_ASSIGNMENT"},
	{NON_TERMINAL, "SIMPLE_ASSIGNMENT"},
	{NON_TERMINAL, "SIMPLE_ASSIGNMENT'"},
	{NON_TERMINAL, "INC_DEC"},
	{NON_TERMINAL, "INC_DEC'"},
	{NON_TERMINAL, "INC_DEC'"},
	{NON_TERMINAL, "INC'"},
	{NON_TERMINAL, "DEC'"},
	{NON_TERMINAL, "INC_DEC'"},
	{NON_TERMINAL, "BOOLEAN_EXPRESSION"},
	{NON_TERMINAL, "EXPRESSION"},
	{NON_TERMINAL, "E0'"},
	{NON_TERMINAL, "E0'"},
	{NON_TERMINAL, "E1"},
	{NON_TERMINAL, "E1'"},
	{NON_TERMINAL, "E1'"},
	{NON_TERMINAL, "E2"},
	{NON_TERMINAL, "E2'"},
	{NON_TERMINAL, "E2'"},
	{NON_TERMINAL, "E3"},
	{NON_TERMINAL, "E3'"},
	{NON_TERMINAL, "E3'"},
	{NON_TERMINAL, "E4"},
	{NON_TERMINAL, "E4'"},
	{NON_TERMINAL, "E4'"},
	{NON_TERMINAL, "E5"},
	{NON_TERMINAL, "E5'"},
	{NON_TERMINAL, "E5'"},
	{NON_TERMINAL, "E6"},
	{NON_TERMINAL, "E6'"},
	{NON_TERMINAL, "E6'"},
	{NON_TERMINAL, "E7"},
	{NON_TERMINAL, "E7'"},
	{NON_TERMINAL, "E7'"},
	{NON_TERMINAL, "E8"},
	{NON_TERMINAL, "E8'"},
	{NON_TERMINAL, "E8'"},
	{NON_TERMINAL, "E9"},
	{NON_TERMINAL, "E9'"},
	{NON_TERMINAL, "E9'"},
	{NON_TERMINAL, "E10"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E13"},
	{NON_TERMINAL, "STRING"},
	{NON_TERMINAL, "L_VALUE"},
	{NON_TERMINAL, "L_VALUE"},
	{NON_TERMINAL, "NULL"}
};
const struct _TOKEN Rhs[RULES_COUNT][MAX_RHS_LEN]= 
{
	{{NON_TERMINAL, "STATEMENT"},{NON_TERMINAL, "S"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "IF_STATEMENT"}},
	{{NON_TERMINAL, "WHILE_STATEMENT"}},
	{{NON_TERMINAL, "DO_WHILE_STATEMENT"}},
	{{NON_TERMINAL, "FOR_STATEMENT"}},
	{{NON_TERMINAL, "ASSIGN_STATEMENT"},{SPECIAL_TOKEN, ";"}},
	{{NON_TERMINAL, "CALL_FUNC_STATEMENT"},{SPECIAL_TOKEN, ";"}},
	{{KEYWORD, "break"},{SEMANTIC_RULE, "@BREAK"},{SPECIAL_TOKEN, ";"}},
	{{KEYWORD, "continue"},{SEMANTIC_RULE, "@CONTINUE"},{SPECIAL_TOKEN, ";"}},
	{{NON_TERMINAL, "L_VALUE"},{SPECIAL_TOKEN, "="},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MOV"},{NON_TERMINAL, "NULL"}},
	{{KEYWORD, "print"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@PRINT"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "formats"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@FORMATS"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "disable_event"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISABLE_EVENT"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "enable_event"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@ENABLE_EVENT"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "test_statement"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@TEST_STATEMENT"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "spinlock_lock"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@SPINLOCK_LOCK"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "spinlock_unlock"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@SPINLOCK_UNLOCK"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "printf"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "STRING"},{SEMANTIC_RULE, "@VARGSTART"},{NON_TERMINAL, "VA"},{SEMANTIC_RULE, "@PRINTF"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "pause"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@PAUSE"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "spinlock_lock_custom_wait"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@SPINLOCK_LOCK_CUSTOM_WAIT"},{SPECIAL_TOKEN, ")"}},
	{{SEMANTIC_RULE, "@IGNORE_LVALUE"},{KEYWORD, "ed"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@ED"},{SPECIAL_TOKEN, ")"}},
	{{SEMANTIC_RULE, "@IGNORE_LVALUE"},{KEYWORD, "eb"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EB"},{SPECIAL_TOKEN, ")"}},
	{{SEMANTIC_RULE, "@IGNORE_LVALUE"},{KEYWORD, "eq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EQ"},{SPECIAL_TOKEN, ")"}},
	{{SEMANTIC_RULE, "@IGNORE_LVALUE"},{KEYWORD, "interlocked_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE"},{SPECIAL_TOKEN, ")"}},
	{{SEMANTIC_RULE, "@IGNORE_LVALUE"},{KEYWORD, "interlocked_exchange_add"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_ADD"},{SPECIAL_TOKEN, ")"}},
	{{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{NON_TERMINAL, "VA"}},
	{{EPSILON, "eps"}},
	{{KEYWORD, "if"},{SEMANTIC_RULE, "@START_OF_IF"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@JZ"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"},{NON_TERMINAL, "ELSIF_STATEMENT"},{NON_TERMINAL, "ELSE_STATEMENT"},{SEMANTIC_RULE, "@END_OF_IF"},{NON_TERMINAL, "END_OF_IF"}},
	{{KEYWORD, "elsif"},{SEMANTIC_RULE, "@JMP_TO_END_AND_JZCOMPLETED"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@JZ"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"},{NON_TERMINAL, "ELSIF_STATEMENT"}},
	{{SEMANTIC_RULE, "@JMP_TO_END_AND_JZCOMPLETED"},{NON_TERMINAL, "ELSIF_STATEMENT'"}},
	{{EPSILON, "eps"}},
	{{KEYWORD, "else"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"}},
	{{EPSILON, "eps"}},
	{{EPSILON, "eps"}},
	{{KEYWORD, "while"},{SEMANTIC_RULE, "@START_OF_WHILE"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@START_OF_WHILE_COMMANDS"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SEMANTIC_RULE, "@END_OF_WHILE"},{SPECIAL_TOKEN, "}"}},
	{{KEYWORD, "do"},{SEMANTIC_RULE, "@START_OF_DO_WHILE"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"},{KEYWORD, "while"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@END_OF_DO_WHILE"},{SPECIAL_TOKEN, ";"}},
	{{KEYWORD, "for"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "SIMPLE_ASSIGNMENT"},{SPECIAL_TOKEN, ";"},{SEMANTIC_RULE, "@START_OF_FOR"},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ";"},{SEMANTIC_RULE, "@FOR_INC_DEC"},{NON_TERMINAL, "INC_DEC"},{SPECIAL_TOKEN, ")"},{SPECIAL_TOKEN, "{"},{SEMANTIC_RULE, "@START_OF_FOR_COMMANDS"},{NON_TERMINAL, "S"},{SEMANTIC_RULE, "@END_OF_FOR"},{SPECIAL_TOKEN, "}"}},
	{{NON_TERMINAL, "L_VALUE"},{SPECIAL_TOKEN, "="},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MOV"},{NON_TERMINAL, "SIMPLE_ASSIGNMENT'"}},
	{{EPSILON, "eps"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "L_VALUE"},{NON_TERMINAL, "INC_DEC'"}},
	{{SPECIAL_TOKEN, "++"},{SEMANTIC_RULE, "@INC"},{NON_TERMINAL, "INC'"}},
	{{SPECIAL_TOKEN, "--"},{SEMANTIC_RULE, "@DEC"},{NON_TERMINAL, "DEC'"}},
	{{EPSILON, "eps"}},
	{{EPSILON, "eps"}},
	{{EPSILON, "eps"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E1"},{NON_TERMINAL, "E0'"}},
	{{SPECIAL_TOKEN, "|"},{NON_TERMINAL, "E1"},{SEMANTIC_RULE, "@OR"},{NON_TERMINAL, "E0'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E2"},{NON_TERMINAL, "E1'"}},
	{{SPECIAL_TOKEN, "^"},{NON_TERMINAL, "E2"},{SEMANTIC_RULE, "@XOR"},{NON_TERMINAL, "E1'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E3"},{NON_TERMINAL, "E2'"}},
	{{SPECIAL_TOKEN, "&"},{NON_TERMINAL, "E3"},{SEMANTIC_RULE, "@AND"},{NON_TERMINAL, "E2'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E4"},{NON_TERMINAL, "E3'"}},
	{{SPECIAL_TOKEN, ">>"},{NON_TERMINAL, "E4"},{SEMANTIC_RULE, "@ASR"},{NON_TERMINAL, "E3'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E5"},{NON_TERMINAL, "E4'"}},
	{{SPECIAL_TOKEN, "<<"},{NON_TERMINAL, "E5"},{SEMANTIC_RULE, "@ASL"},{NON_TERMINAL, "E4'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E6"},{NON_TERMINAL, "E5'"}},
	{{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E6"},{SEMANTIC_RULE, "@ADD"},{NON_TERMINAL, "E5'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E7"},{NON_TERMINAL, "E6'"}},
	{{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E7"},{SEMANTIC_RULE, "@SUB"},{NON_TERMINAL, "E6'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E8"},{NON_TERMINAL, "E7'"}},
	{{SPECIAL_TOKEN, "*"},{NON_TERMINAL, "E8"},{SEMANTIC_RULE, "@MUL"},{NON_TERMINAL, "E7'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E9"},{NON_TERMINAL, "E8'"}},
	{{SPECIAL_TOKEN, "/"},{NON_TERMINAL, "E9"},{SEMANTIC_RULE, "@DIV"},{NON_TERMINAL, "E8'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E10"},{NON_TERMINAL, "E9'"}},
	{{SPECIAL_TOKEN, "%"},{NON_TERMINAL, "E10"},{SEMANTIC_RULE, "@MOD"},{NON_TERMINAL, "E9'"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E12"}},
	{{KEYWORD, "poi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@POI"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "db"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DB"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "dd"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DD"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "dw"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DW"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "dq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DQ"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "neg"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@NEG"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "hi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@HI"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "low"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@LOW"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "not"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@NOT"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "check_address"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@CHECK_ADDRESS"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "strlen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@STRLEN"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "wcslen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@WCSLEN"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "interlocked_exchange_increment"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_INCREMENT"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "interlocked_exchange_decrement"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_DECREMENT"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "ed"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@ED"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "eb"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EB"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "eq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EQ"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "interlocked_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "interlocked_exchange_add"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_ADD"},{SPECIAL_TOKEN, ")"}},
	{{KEYWORD, "interlocked_compare_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_COMPARE_EXCHANGE"},{SPECIAL_TOKEN, ")"}},
	{{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ")"}},
	{{SEMANTIC_RULE, "@PUSH"},{REGISTER, "_register"}},
	{{SEMANTIC_RULE, "@PUSH"},{ID, "_id"}},
	{{SEMANTIC_RULE, "@PUSH"},{HEX, "_hex"}},
	{{SEMANTIC_RULE, "@PUSH"},{DECIMAL, "_decimal"}},
	{{SEMANTIC_RULE, "@PUSH"},{OCTAL, "_octal"}},
	{{SEMANTIC_RULE, "@PUSH"},{BINARY, "_binary"}},
	{{SEMANTIC_RULE, "@PUSH"},{PSEUDO_REGISTER, "_pseudo_register"}},
	{{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NEG"},{NON_TERMINAL, "E13"}},
	{{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E12"},{NON_TERMINAL, "E13"}},
	{{SPECIAL_TOKEN, "~"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NOT"},{NON_TERMINAL, "E13"}},
	{{EPSILON, "eps"}},
	{{SEMANTIC_RULE, "@PUSH"},{STRING, "_string"}},
	{{SEMANTIC_RULE, "@PUSH"},{ID, "_id"}},
	{{SEMANTIC_RULE, "@PUSH"},{REGISTER, "_register"}},
	{{EPSILON, "eps"}}
};
const unsigned int RhsSize[RULES_COUNT]= 
{
2,
1,
1,
1,
1,
1,
2,
2,
3,
3,
5,
5,
5,
5,
5,
5,
5,
5,
7,
4,
7,
8,
8,
8,
8,
8,
3,
1,
13,
10,
2,
1,
4,
1,
1,
10,
11,
15,
5,
1,
1,
2,
3,
3,
1,
1,
1,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
1,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
7,
7,
7,
7,
7,
9,
3,
2,
2,
2,
2,
2,
2,
2,
4,
3,
4,
1,
2,
2,
2,
1
};
const char* NoneTerminalMap[NONETERMINAL_COUNT]= 
{
"S",
"E1",
"EXPRESSION",
"NULL",
"ELSIF_STATEMENT",
"E3'",
"INC_DEC",
"DEC'",
"E7'",
"E5",
"E8",
"E1'",
"SIMPLE_ASSIGNMENT",
"VA",
"E6",
"CALL_FUNC_STATEMENT",
"ELSIF_STATEMENT'",
"INC_DEC'",
"STATEMENT",
"FOR_STATEMENT",
"E5'",
"E8'",
"E4",
"E10",
"E9",
"E7",
"DO_WHILE_STATEMENT",
"ELSE_STATEMENT",
"E4'",
"IF_STATEMENT",
"E0'",
"ASSIGN_STATEMENT",
"END_OF_IF",
"SIMPLE_ASSIGNMENT'",
"BOOLEAN_EXPRESSION",
"E13",
"E12",
"E2",
"WHILE_STATEMENT",
"L_VALUE",
"E9'",
"E3",
"INC'",
"E2'",
"STRING",
"E6'"
};
const char* TerminalMap[TERMINAL_COUNT]= 
{
"if",
"eb",
"pause",
"~",
"_string",
"continue",
"{",
"--",
"formats",
"elsif",
"=",
"+",
"$",
"hi",
"check_address",
"wcslen",
"disable_event",
"_decimal",
"eq",
"*",
"db",
"do",
"printf",
"++",
"-",
")",
"%",
";",
"interlocked_compare_exchange",
"strlen",
"_hex",
",",
"while",
"_id",
"_register",
"}",
"^",
"dw",
"low",
"_octal",
"neg",
"enable_event",
"print",
"spinlock_lock",
"not",
"|",
"interlocked_exchange_increment",
"interlocked_exchange_decrement",
"&",
"interlocked_exchange",
"dd",
"ed",
"_pseudo_register",
"dq",
"<<",
"for",
"_binary",
"else",
"test_statement",
"spinlock_lock_custom_wait",
">>",
"(",
"break",
"poi",
"spinlock_unlock",
"interlocked_exchange_add",
"/"
};
const int ParseTable[NONETERMINAL_COUNT][TERMINAL_COUNT]= 
{
	{0		,0		,0		,-99		,-99		,0		,-99		,-99		,0		,-99		,-99		,-99		,1		,-99		,-99		,-99		,0		,-99		,0		,-99		,-99		,0		,0		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,0		,0		,0		,1		,-99		,-99		,-99		,-99		,-99		,0		,0		,0		,-99		,-99		,-99		,-99		,-99		,0		,-99		,0		,-99		,-99		,-99		,0		,-99		,-99		,0		,0		,-99		,-99		,0		,-99		,0		,0		,-99	},
	{-99		,51		,-99		,51		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,51		,-99		,51		,51		,51		,-99		,51		,51		,-99		,51		,-99		,-99		,-99		,51		,-99		,-99		,-99		,51		,51		,51		,-99		,-99		,51		,51		,-99		,-99		,51		,51		,51		,51		,-99		,-99		,-99		,51		,-99		,51		,51		,-99		,51		,51		,51		,51		,51		,-99		,-99		,51		,-99		,-99		,-99		,-99		,51		,-99		,51		,-99		,51		,-99	},
	{-99		,48		,-99		,48		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,48		,-99		,48		,48		,48		,-99		,48		,48		,-99		,48		,-99		,-99		,-99		,48		,-99		,-99		,-99		,48		,48		,48		,-99		,-99		,48		,48		,-99		,-99		,48		,48		,48		,48		,-99		,-99		,-99		,48		,-99		,48		,48		,-99		,48		,48		,48		,48		,48		,-99		,-99		,48		,-99		,-99		,-99		,-99		,48		,-99		,48		,-99		,48		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,114		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{30		,30		,30		,-99		,-99		,30		,-99		,-99		,30		,29		,-99		,-99		,30		,-99		,-99		,-99		,30		,-99		,30		,-99		,-99		,30		,30		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,30		,30		,30		,30		,-99		,-99		,-99		,-99		,-99		,30		,30		,30		,-99		,-99		,-99		,-99		,-99		,30		,-99		,30		,-99		,-99		,-99		,30		,-99		,30		,30		,30		,-99		,-99		,30		,-99		,30		,30		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,59		,-99		,59		,-99		,-99		,-99		,59		,-99		,-99		,-99		,-99		,59		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,59		,-99		,-99		,59		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,58		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,41		,41		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,45		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,71		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,70		,-99		,-99		,-99		,-99		,71		,71		,-99		,71		,-99		,-99		,-99		,71		,-99		,-99		,-99		,-99		,71		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,71		,-99		,-99		,71		,-99		,-99		,-99		,-99		,-99		,71		,-99		,-99		,-99		,-99		,-99		,71		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,63		,-99		,63		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,63		,-99		,63		,63		,63		,-99		,63		,63		,-99		,63		,-99		,-99		,-99		,63		,-99		,-99		,-99		,63		,63		,63		,-99		,-99		,63		,63		,-99		,-99		,63		,63		,63		,63		,-99		,-99		,-99		,63		,-99		,63		,63		,-99		,63		,63		,63		,63		,63		,-99		,-99		,63		,-99		,-99		,-99		,-99		,63		,-99		,63		,-99		,63		,-99	},
	{-99		,72		,-99		,72		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,72		,-99		,72		,72		,72		,-99		,72		,72		,-99		,72		,-99		,-99		,-99		,72		,-99		,-99		,-99		,72		,72		,72		,-99		,-99		,72		,72		,-99		,-99		,72		,72		,72		,72		,-99		,-99		,-99		,72		,-99		,72		,72		,-99		,72		,72		,72		,72		,72		,-99		,-99		,72		,-99		,-99		,-99		,-99		,72		,-99		,72		,-99		,72		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,53		,-99		,53		,-99		,-99		,-99		,53		,-99		,-99		,-99		,-99		,52		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,53		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,39		,-99		,-99		,-99		,-99		,-99		,38		,38		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,27		,-99		,-99		,-99		,-99		,-99		,26		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,66		,-99		,66		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,66		,-99		,66		,66		,66		,-99		,66		,66		,-99		,66		,-99		,-99		,-99		,66		,-99		,-99		,-99		,66		,66		,66		,-99		,-99		,66		,66		,-99		,-99		,66		,66		,66		,66		,-99		,-99		,-99		,66		,-99		,66		,66		,-99		,66		,66		,66		,66		,66		,-99		,-99		,66		,-99		,-99		,-99		,-99		,66		,-99		,66		,-99		,66		,-99	},
	{-99		,22		,19		,-99		,-99		,-99		,-99		,-99		,12		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,13		,-99		,23		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,14		,11		,16		,-99		,-99		,-99		,-99		,-99		,24		,-99		,21		,-99		,-99		,-99		,-99		,-99		,-99		,15		,20		,-99		,-99		,-99		,-99		,17		,25		,-99	},
	{31		,31		,31		,-99		,-99		,31		,-99		,-99		,31		,-99		,-99		,-99		,31		,-99		,-99		,-99		,31		,-99		,31		,-99		,-99		,31		,31		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,31		,31		,31		,31		,-99		,-99		,-99		,-99		,-99		,31		,31		,31		,-99		,-99		,-99		,-99		,-99		,31		,-99		,31		,-99		,-99		,-99		,31		,-99		,31		,31		,31		,-99		,-99		,31		,-99		,31		,31		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,43		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,42		,-99		,46		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{2		,7		,7		,-99		,-99		,9		,-99		,-99		,7		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,7		,-99		,7		,-99		,-99		,4		,7		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,3		,6		,6		,-99		,-99		,-99		,-99		,-99		,-99		,7		,7		,7		,-99		,-99		,-99		,-99		,-99		,7		,-99		,7		,-99		,-99		,-99		,5		,-99		,-99		,7		,7		,-99		,-99		,8		,-99		,7		,7		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,37		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,64		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,65		,-99		,65		,-99		,-99		,-99		,65		,-99		,-99		,-99		,-99		,65		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,65		,-99		,-99		,65		,-99		,-99		,-99		,-99		,-99		,65		,-99		,-99		,-99		,-99		,-99		,65		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,74		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,74		,-99		,-99		,-99		,-99		,74		,74		,-99		,74		,-99		,-99		,-99		,74		,-99		,-99		,-99		,-99		,74		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,74		,-99		,-99		,74		,-99		,-99		,-99		,-99		,-99		,74		,-99		,-99		,-99		,-99		,-99		,74		,-99		,-99		,-99		,-99		,-99		,73	},
	{-99		,60		,-99		,60		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,60		,-99		,60		,60		,60		,-99		,60		,60		,-99		,60		,-99		,-99		,-99		,60		,-99		,-99		,-99		,60		,60		,60		,-99		,-99		,60		,60		,-99		,-99		,60		,60		,60		,60		,-99		,-99		,-99		,60		,-99		,60		,60		,-99		,60		,60		,60		,60		,60		,-99		,-99		,60		,-99		,-99		,-99		,-99		,60		,-99		,60		,-99		,60		,-99	},
	{-99		,78		,-99		,78		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,78		,-99		,78		,78		,78		,-99		,78		,78		,-99		,78		,-99		,-99		,-99		,78		,-99		,-99		,-99		,78		,78		,78		,-99		,-99		,78		,78		,-99		,-99		,78		,78		,78		,78		,-99		,-99		,-99		,78		,-99		,78		,78		,-99		,78		,78		,78		,78		,78		,-99		,-99		,78		,-99		,-99		,-99		,-99		,78		,-99		,78		,-99		,78		,-99	},
	{-99		,75		,-99		,75		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,75		,-99		,75		,75		,75		,-99		,75		,75		,-99		,75		,-99		,-99		,-99		,75		,-99		,-99		,-99		,75		,75		,75		,-99		,-99		,75		,75		,-99		,-99		,75		,75		,75		,75		,-99		,-99		,-99		,75		,-99		,75		,75		,-99		,75		,75		,75		,75		,75		,-99		,-99		,75		,-99		,-99		,-99		,-99		,75		,-99		,75		,-99		,75		,-99	},
	{-99		,69		,-99		,69		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,69		,-99		,69		,69		,69		,-99		,69		,69		,-99		,69		,-99		,-99		,-99		,69		,-99		,-99		,-99		,69		,69		,69		,-99		,-99		,69		,69		,-99		,-99		,69		,69		,69		,69		,-99		,-99		,-99		,69		,-99		,69		,69		,-99		,69		,69		,69		,69		,69		,-99		,-99		,69		,-99		,-99		,-99		,-99		,69		,-99		,69		,-99		,69		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,36		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{33		,33		,33		,-99		,-99		,33		,-99		,-99		,33		,-99		,-99		,-99		,33		,-99		,-99		,-99		,33		,-99		,33		,-99		,-99		,33		,33		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,33		,33		,33		,33		,-99		,-99		,-99		,-99		,-99		,33		,33		,33		,-99		,-99		,-99		,-99		,-99		,33		,-99		,33		,-99		,-99		,-99		,33		,-99		,32		,33		,33		,-99		,-99		,33		,-99		,33		,33		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,62		,-99		,62		,-99		,-99		,-99		,62		,-99		,-99		,-99		,-99		,62		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,62		,-99		,-99		,62		,-99		,-99		,-99		,-99		,-99		,61		,-99		,-99		,-99		,-99		,-99		,62		,-99		,-99		,-99		,-99		,-99		,-99	},
	{28		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,50		,-99		,50		,-99		,-99		,-99		,50		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,49		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,10		,10		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{34		,34		,34		,-99		,-99		,34		,-99		,-99		,34		,-99		,-99		,-99		,34		,-99		,-99		,-99		,34		,-99		,34		,-99		,-99		,34		,34		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,34		,34		,34		,34		,-99		,-99		,-99		,-99		,-99		,34		,34		,34		,-99		,-99		,-99		,-99		,-99		,34		,-99		,34		,-99		,-99		,-99		,34		,-99		,-99		,34		,34		,-99		,-99		,34		,-99		,34		,34		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,40		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,47		,-99		,47		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,110		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,110		,-99		,-99		,-99		,-99		,110		,110		,110		,110		,-99		,-99		,-99		,110		,-99		,-99		,-99		,-99		,110		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,110		,-99		,-99		,110		,-99		,-99		,-99		,-99		,-99		,110		,-99		,-99		,-99		,-99		,-99		,110		,-99		,-99		,-99		,-99		,-99		,110	},
	{-99		,94		,-99		,109		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,108		,-99		,85		,88		,90		,-99		,103		,95		,-99		,80		,-99		,-99		,-99		,107		,-99		,-99		,-99		,98		,89		,102		,-99		,-99		,101		,100		,-99		,-99		,82		,86		,104		,84		,-99		,-99		,-99		,87		,-99		,91		,92		,-99		,96		,81		,93		,106		,83		,-99		,-99		,105		,-99		,-99		,-99		,-99		,99		,-99		,79		,-99		,97		,-99	},
	{-99		,54		,-99		,54		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,54		,-99		,54		,54		,54		,-99		,54		,54		,-99		,54		,-99		,-99		,-99		,54		,-99		,-99		,-99		,54		,54		,54		,-99		,-99		,54		,54		,-99		,-99		,54		,54		,54		,54		,-99		,-99		,-99		,54		,-99		,54		,54		,-99		,54		,54		,54		,54		,54		,-99		,-99		,54		,-99		,-99		,-99		,-99		,54		,-99		,54		,-99		,54		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,35		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,112		,113		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,77		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,77		,-99		,-99		,-99		,-99		,77		,77		,76		,77		,-99		,-99		,-99		,77		,-99		,-99		,-99		,-99		,77		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,77		,-99		,-99		,77		,-99		,-99		,-99		,-99		,-99		,77		,-99		,-99		,-99		,-99		,-99		,77		,-99		,-99		,-99		,-99		,-99		,77	},
	{-99		,57		,-99		,57		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,57		,-99		,57		,57		,57		,-99		,57		,57		,-99		,57		,-99		,-99		,-99		,57		,-99		,-99		,-99		,57		,57		,57		,-99		,-99		,57		,57		,-99		,-99		,57		,57		,57		,57		,-99		,-99		,-99		,57		,-99		,57		,57		,-99		,57		,57		,57		,57		,57		,-99		,-99		,57		,-99		,-99		,-99		,-99		,57		,-99		,57		,-99		,57		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,44		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,56		,-99		,56		,-99		,-99		,-99		,56		,-99		,-99		,-99		,-99		,56		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,56		,-99		,-99		,55		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,111		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,68		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,67		,68		,-99		,68		,-99		,-99		,-99		,68		,-99		,-99		,-99		,-99		,68		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,68		,-99		,-99		,68		,-99		,-99		,-99		,-99		,-99		,68		,-99		,-99		,-99		,-99		,-99		,68		,-99		,-99		,-99		,-99		,-99		,-99	}
};
const char* KeywordList[]= {
"print",
"formats",
"disable_event",
"enable_event",
"test_statement",
"spinlock_lock",
"spinlock_unlock",
"printf",
"pause",
"spinlock_lock_custom_wait",
"ed",
"eb",
"eq",
"interlocked_exchange",
"interlocked_exchange_add",
"poi",
"db",
"dd",
"dw",
"dq",
"neg",
"hi",
"low",
"not",
"check_address",
"strlen",
"wcslen",
"interlocked_exchange_increment",
"interlocked_exchange_decrement",
"ed",
"eb",
"eq",
"interlocked_exchange",
"interlocked_exchange_add",
"interlocked_compare_exchange"
};
const char* OperatorsTwoOperandList[]= {
"@OR",
"@XOR",
"@AND",
"@ASR",
"@ASL",
"@ADD",
"@SUB",
"@MUL",
"@DIV",
"@MOD",
"@GT",
"@LT",
"@EGT",
"@ELT",
"@EQUAL",
"@NEQ"
};
const char* OperatorsOneOperandList[]= {
"@INC",
"@DEC"
};
const char* ThreeOpFunc1[] = {
"@INTERLOCKED_COMPARE_EXCHANGE"
};
const char* TwoOpFunc1[] = {
"@ED",
"@EB",
"@EQ",
"@INTERLOCKED_EXCHANGE",
"@INTERLOCKED_EXCHANGE_ADD",
};
const char* TwoOpFunc2[] = {
"@SPINLOCK_LOCK_CUSTOM_WAIT"
};
const char* OneOpFunc1[] = {
"@POI",
"@DB",
"@DD",
"@DW",
"@DQ",
"@NEG",
"@HI",
"@LOW",
"@NOT",
"@CHECK_ADDRESS",
"@STRLEN",
"@WCSLEN",
"@INTERLOCKED_EXCHANGE_INCREMENT",
"@INTERLOCKED_EXCHANGE_DECREMENT",
};
const char* OneOpFunc2[] = {
"@PRINT",
"@FORMATS",
"@DISABLE_EVENT",
"@ENABLE_EVENT",
"@TEST_STATEMENT",
"@SPINLOCK_LOCK",
"@SPINLOCK_UNLOCK",
};
const char* ZeroOpFunc1[] = {
"@PAUSE"
};
const char* VarArgFunc1[] = {
"@PRINTF"
};
const SYMBOL_MAP SemanticRulesMapList[]= {
{"@INC", FUNC_INC},
{"@DEC", FUNC_DEC},
{"@OR", FUNC_OR},
{"@XOR", FUNC_XOR},
{"@AND", FUNC_AND},
{"@ASR", FUNC_ASR},
{"@ASL", FUNC_ASL},
{"@ADD", FUNC_ADD},
{"@SUB", FUNC_SUB},
{"@MUL", FUNC_MUL},
{"@DIV", FUNC_DIV},
{"@MOD", FUNC_MOD},
{"@GT", FUNC_GT},
{"@LT", FUNC_LT},
{"@EGT", FUNC_EGT},
{"@ELT", FUNC_ELT},
{"@EQUAL", FUNC_EQUAL},
{"@NEQ", FUNC_NEQ},
{"@START_OF_IF", FUNC_START_OF_IF},
{"@JMP", FUNC_JMP},
{"@JZ", FUNC_JZ},
{"@JNZ", FUNC_JNZ},
{"@JMP_TO_END_AND_JZCOMPLETED", FUNC_JMP_TO_END_AND_JZCOMPLETED},
{"@END_OF_IF", FUNC_END_OF_IF},
{"@START_OF_WHILE", FUNC_START_OF_WHILE},
{"@END_OF_WHILE", FUNC_END_OF_WHILE},
{"@VARGSTART", FUNC_VARGSTART},
{"@MOV", FUNC_MOV},
{"@START_OF_DO_WHILE", FUNC_START_OF_DO_WHILE},
{"@", FUNC_},
{"@START_OF_DO_WHILE_COMMANDS", FUNC_START_OF_DO_WHILE_COMMANDS},
{"@END_OF_DO_WHILE", FUNC_END_OF_DO_WHILE},
{"@START_OF_FOR", FUNC_START_OF_FOR},
{"@FOR_INC_DEC", FUNC_FOR_INC_DEC},
{"@START_OF_FOR_OMMANDS", FUNC_START_OF_FOR_OMMANDS},
{"@END_OF_IF", FUNC_END_OF_IF},
{"@IGNORE_LVALUE", FUNC_IGNORE_LVALUE},
{"@PRINT", FUNC_PRINT},
{"@FORMATS", FUNC_FORMATS},
{"@DISABLE_EVENT", FUNC_DISABLE_EVENT},
{"@ENABLE_EVENT", FUNC_ENABLE_EVENT},
{"@TEST_STATEMENT", FUNC_TEST_STATEMENT},
{"@SPINLOCK_LOCK", FUNC_SPINLOCK_LOCK},
{"@SPINLOCK_UNLOCK", FUNC_SPINLOCK_UNLOCK},
{"@PRINTF", FUNC_PRINTF},
{"@PAUSE", FUNC_PAUSE},
{"@SPINLOCK_LOCK_CUSTOM_WAIT", FUNC_SPINLOCK_LOCK_CUSTOM_WAIT},
{"@ED", FUNC_ED},
{"@EB", FUNC_EB},
{"@EQ", FUNC_EQ},
{"@INTERLOCKED_EXCHANGE", FUNC_INTERLOCKED_EXCHANGE},
{"@INTERLOCKED_EXCHANGE_ADD", FUNC_INTERLOCKED_EXCHANGE_ADD},
{"@POI", FUNC_POI},
{"@DB", FUNC_DB},
{"@DD", FUNC_DD},
{"@DW", FUNC_DW},
{"@DQ", FUNC_DQ},
{"@NEG", FUNC_NEG},
{"@HI", FUNC_HI},
{"@LOW", FUNC_LOW},
{"@NOT", FUNC_NOT},
{"@CHECK_ADDRESS", FUNC_CHECK_ADDRESS},
{"@STRLEN", FUNC_STRLEN},
{"@WCSLEN", FUNC_WCSLEN},
{"@INTERLOCKED_EXCHANGE_INCREMENT", FUNC_INTERLOCKED_EXCHANGE_INCREMENT},
{"@INTERLOCKED_EXCHANGE_DECREMENT", FUNC_INTERLOCKED_EXCHANGE_DECREMENT},
{"@ED", FUNC_ED},
{"@EB", FUNC_EB},
{"@EQ", FUNC_EQ},
{"@INTERLOCKED_EXCHANGE", FUNC_INTERLOCKED_EXCHANGE},
{"@INTERLOCKED_EXCHANGE_ADD", FUNC_INTERLOCKED_EXCHANGE_ADD},
{"@INTERLOCKED_COMPARE_EXCHANGE", FUNC_INTERLOCKED_COMPARE_EXCHANGE},
};
const SYMBOL_MAP RegisterMapList[]= {
{"rax", REGISTER_RAX},
{"eax", REGISTER_EAX},
{"ax", REGISTER_AX},
{"ah", REGISTER_AH},
{"al", REGISTER_AL},
{"rcx", REGISTER_RCX},
{"ecx", REGISTER_ECX},
{"cx", REGISTER_CX},
{"ch", REGISTER_CH},
{"cl", REGISTER_CL},
{"rdx", REGISTER_RDX},
{"edx", REGISTER_EDX},
{"dx", REGISTER_DX},
{"dh", REGISTER_DH},
{"dl", REGISTER_DL},
{"rbx", REGISTER_RBX},
{"ebx", REGISTER_EBX},
{"bx", REGISTER_BX},
{"bh", REGISTER_BH},
{"bl", REGISTER_BL},
{"rsp", REGISTER_RSP},
{"esp", REGISTER_ESP},
{"sp", REGISTER_SP},
{"spl", REGISTER_SPL},
{"rbp", REGISTER_RBP},
{"ebp", REGISTER_EBP},
{"bp", REGISTER_BP},
{"bpl", REGISTER_BPL},
{"rsi", REGISTER_RSI},
{"esi", REGISTER_ESI},
{"si", REGISTER_SI},
{"sil", REGISTER_SIL},
{"rdi", REGISTER_RDI},
{"edi", REGISTER_EDI},
{"di", REGISTER_DI},
{"dil", REGISTER_DIL},
{"r8", REGISTER_R8},
{"r8d", REGISTER_R8D},
{"r8w", REGISTER_R8W},
{"r8h", REGISTER_R8H},
{"r8l", REGISTER_R8L},
{"r9", REGISTER_R9},
{"r9d", REGISTER_R9D},
{"r9w", REGISTER_R9W},
{"r9h", REGISTER_R9H},
{"r9l", REGISTER_R9L},
{"r10", REGISTER_R10},
{"r10d", REGISTER_R10D},
{"r10w", REGISTER_R10W},
{"r10h", REGISTER_R10H},
{"r10l", REGISTER_R10L},
{"r11", REGISTER_R11},
{"r11d", REGISTER_R11D},
{"r11w", REGISTER_R11W},
{"r11h", REGISTER_R11H},
{"r11l", REGISTER_R11L},
{"r12", REGISTER_R12},
{"r12d", REGISTER_R12D},
{"r12w", REGISTER_R12W},
{"r12h", REGISTER_R12H},
{"r12l", REGISTER_R12L},
{"r13", REGISTER_R13},
{"r13d", REGISTER_R13D},
{"r13w", REGISTER_R13W},
{"r13h", REGISTER_R13H},
{"r13l", REGISTER_R13L},
{"r14", REGISTER_R14},
{"r14d", REGISTER_R14D},
{"r14w", REGISTER_R14W},
{"r14h", REGISTER_R14H},
{"r14l", REGISTER_R14L},
{"r15", REGISTER_R15},
{"r15d", REGISTER_R15D},
{"r15w", REGISTER_R15W},
{"r15h", REGISTER_R15H},
{"r15l", REGISTER_R15L},
{"ds", REGISTER_DS},
{"es", REGISTER_ES},
{"fs", REGISTER_FS},
{"gs", REGISTER_GS},
{"cs", REGISTER_CS},
{"ss", REGISTER_SS},
{"rflags", REGISTER_RFLAGS},
{"eflags", REGISTER_EFLAGS},
{"flags", REGISTER_FLAGS},
{"rip", REGISTER_RIP},
{"eip", REGISTER_EIP},
{"ip", REGISTER_IP},
{"idtr", REGISTER_IDTR},
{"ldtr", REGISTER_LDTR},
{"gdtr", REGISTER_GDTR},
{"tr", REGISTER_TR},
{"cr0", REGISTER_CR0},
{"cr2", REGISTER_CR2},
{"cr3", REGISTER_CR3},
{"cr4", REGISTER_CR4},
{"cr8", REGISTER_CR8},
{"dr0", REGISTER_DR0},
{"dr1", REGISTER_DR1},
{"dr2", REGISTER_DR2},
{"dr3", REGISTER_DR3},
{"dr6", REGISTER_DR6},
{"dr7", REGISTER_DR7}
};
const SYMBOL_MAP PseudoRegisterMapList[]= {
{"pid", PSEUDO_REGISTER_PID},
{"tid", PSEUDO_REGISTER_TID},
{"proc", PSEUDO_REGISTER_PROC},
{"thread", PSEUDO_REGISTER_THREAD},
{"peb", PSEUDO_REGISTER_PEB},
{"teb", PSEUDO_REGISTER_TEB},
{"ip", PSEUDO_REGISTER_IP},
{"buffer", PSEUDO_REGISTER_BUFFER},
{"context", PSEUDO_REGISTER_CONTEXT}
};
const struct _TOKEN LalrLhs[RULES_COUNT]= 
{
	{NON_TERMINAL, "S"},
	{NON_TERMINAL, "BE"},
	{NON_TERMINAL, "B1"},
	{NON_TERMINAL, "B1'"},
	{NON_TERMINAL, "B1'"},
	{NON_TERMINAL, "B2"},
	{NON_TERMINAL, "B2'"},
	{NON_TERMINAL, "B2'"},
	{NON_TERMINAL, "B3"},
	{NON_TERMINAL, "B3"},
	{NON_TERMINAL, "CMP"},
	{NON_TERMINAL, "CMP"},
	{NON_TERMINAL, "CMP"},
	{NON_TERMINAL, "CMP"},
	{NON_TERMINAL, "CMP"},
	{NON_TERMINAL, "CMP"},
	{NON_TERMINAL, "CMP"},
	{NON_TERMINAL, "EXP"},
	{NON_TERMINAL, "E0'"},
	{NON_TERMINAL, "E0'"},
	{NON_TERMINAL, "E1"},
	{NON_TERMINAL, "E1'"},
	{NON_TERMINAL, "E1'"},
	{NON_TERMINAL, "E2"},
	{NON_TERMINAL, "E2'"},
	{NON_TERMINAL, "E2'"},
	{NON_TERMINAL, "E3"},
	{NON_TERMINAL, "E3'"},
	{NON_TERMINAL, "E3'"},
	{NON_TERMINAL, "E4"},
	{NON_TERMINAL, "E4'"},
	{NON_TERMINAL, "E4'"},
	{NON_TERMINAL, "E5"},
	{NON_TERMINAL, "E5'"},
	{NON_TERMINAL, "E5'"},
	{NON_TERMINAL, "E6"},
	{NON_TERMINAL, "E6'"},
	{NON_TERMINAL, "E6'"},
	{NON_TERMINAL, "E7"},
	{NON_TERMINAL, "E7'"},
	{NON_TERMINAL, "E7'"},
	{NON_TERMINAL, "E8"},
	{NON_TERMINAL, "E8'"},
	{NON_TERMINAL, "E8'"},
	{NON_TERMINAL, "E9"},
	{NON_TERMINAL, "E9'"},
	{NON_TERMINAL, "E9'"},
	{NON_TERMINAL, "E10"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E12"},
	{NON_TERMINAL, "E13"}
};
const struct _TOKEN LalrRhs[RULES_COUNT][MAX_RHS_LEN]= 
{
	{{NON_TERMINAL, "BE"}},
	{{NON_TERMINAL, "B1"}},
	{{NON_TERMINAL, "B2"},{NON_TERMINAL, "B1'"}},
	{{SPECIAL_TOKEN, "&&"},{NON_TERMINAL, "B2"},{NON_TERMINAL, "B1'"},{SEMANTIC_RULE, "@AND"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "B3"},{NON_TERMINAL, "B2'"}},
	{{SPECIAL_TOKEN, "||"},{NON_TERMINAL, "B3"},{NON_TERMINAL, "B2'"},{SEMANTIC_RULE, "@OR"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "CMP"}},
	{{NON_TERMINAL, "EXP"}},
	{{NON_TERMINAL, "EXP"},{KEYWORD, ">"},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@GT"}},
	{{NON_TERMINAL, "EXP"},{KEYWORD, "<"},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@LT"}},
	{{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ">="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@EGT"}},
	{{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, "<="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@ELT"}},
	{{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, "=="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@EQUAL"}},
	{{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, "!="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@NEQ"}},
	{{SPECIAL_TOKEN, "("},{NON_TERMINAL, "CMP"},{SPECIAL_TOKEN, ")"}},
	{{NON_TERMINAL, "E1"},{NON_TERMINAL, "E0'"}},
	{{SPECIAL_TOKEN, "|"},{NON_TERMINAL, "E1"},{NON_TERMINAL, "E0'"},{SEMANTIC_RULE, "@OR"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E2"},{NON_TERMINAL, "E1'"}},
	{{SPECIAL_TOKEN, "^"},{NON_TERMINAL, "E2"},{NON_TERMINAL, "E1'"},{SEMANTIC_RULE, "@XOR"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E3"},{NON_TERMINAL, "E2'"}},
	{{SPECIAL_TOKEN, "&"},{NON_TERMINAL, "E3"},{NON_TERMINAL, "E2'"},{SEMANTIC_RULE, "@AND"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E4"},{NON_TERMINAL, "E3'"}},
	{{SPECIAL_TOKEN, ">>"},{NON_TERMINAL, "E4"},{NON_TERMINAL, "E3'"},{SEMANTIC_RULE, "@ASR"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E5"},{NON_TERMINAL, "E4'"}},
	{{SPECIAL_TOKEN, "<<"},{NON_TERMINAL, "E5"},{NON_TERMINAL, "E4'"},{SEMANTIC_RULE, "@ASL"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E6"},{NON_TERMINAL, "E5'"}},
	{{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E6"},{NON_TERMINAL, "E5'"},{SEMANTIC_RULE, "@ADD"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E7"},{NON_TERMINAL, "E6'"}},
	{{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E7"},{NON_TERMINAL, "E6'"},{SEMANTIC_RULE, "@SUB"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E8"},{NON_TERMINAL, "E7'"}},
	{{SPECIAL_TOKEN, "*"},{NON_TERMINAL, "E8"},{NON_TERMINAL, "E7'"},{SEMANTIC_RULE, "@MUL"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E9"},{NON_TERMINAL, "E8'"}},
	{{SPECIAL_TOKEN, "/"},{NON_TERMINAL, "E9"},{NON_TERMINAL, "E8'"},{SEMANTIC_RULE, "@DIV"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E10"},{NON_TERMINAL, "E9'"}},
	{{SPECIAL_TOKEN, "%"},{NON_TERMINAL, "E10"},{NON_TERMINAL, "E9'"},{SEMANTIC_RULE, "@MOD"}},
	{{EPSILON, "eps"}},
	{{NON_TERMINAL, "E12"}},
	{{KEYWORD, "poi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@POI"}},
	{{KEYWORD, "db"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DB"}},
	{{KEYWORD, "dd"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DD"}},
	{{KEYWORD, "dw"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DW"}},
	{{KEYWORD, "dq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DQ"}},
	{{KEYWORD, "neg"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@NEG"}},
	{{KEYWORD, "hi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@HI"}},
	{{KEYWORD, "low"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@LOW"}},
	{{KEYWORD, "not"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@NOT"}},
	{{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"}},
	{{REGISTER, "_register"},{SEMANTIC_RULE, "@PUSH"}},
	{{ID, "_id"},{SEMANTIC_RULE, "@PUSH"}},
	{{HEX, "_hex"},{SEMANTIC_RULE, "@PUSH"}},
	{{DECIMAL, "_decimal"},{SEMANTIC_RULE, "@PUSH"}},
	{{OCTAL, "_octal"},{SEMANTIC_RULE, "@PUSH"}},
	{{BINARY, "_binary"},{SEMANTIC_RULE, "@PUSH"}},
	{{PSEUDO_REGISTER, "_pseudo_register"},{SEMANTIC_RULE, "@PUSH"}},
	{{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NEG"}},
	{{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E12"}},
	{{KEYWORD, "~"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NEG"}},
	{{EPSILON, "eps"}}
};
const unsigned int LalrRhsSize[RULES_COUNT]= 
{
1,
1,
2,
4,
1,
2,
4,
1,
1,
1,
4,
4,
4,
4,
4,
4,
3,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
2,
4,
1,
1,
5,
5,
5,
5,
5,
5,
5,
5,
5,
3,
2,
2,
2,
2,
2,
2,
2,
3,
2,
3,
1
};
const char* LalrNoneTerminalMap[NONETERMINAL_COUNT]= 
{
"CMP",
"S",
"B1'",
"E1",
"BE",
"B2",
"E3'",
"B3",
"E7'",
"E5",
"E8",
"E1'",
"E6",
"B1",
"E5'",
"E8'",
"EXP",
"E4",
"E10",
"E9",
"E7",
"B2'",
"E4'",
"E0'",
"E13",
"E12",
"E2",
"E9'",
"E3",
"E2'",
"E6'"
};
const char* LalrTerminalMap[TERMINAL_COUNT]= 
{
"&&",
">=",
"~",
"!=",
"+",
"<",
"$",
"hi",
"_decimal",
"*",
"db",
"-",
")",
"%",
"_hex",
"_id",
"_register",
"^",
"dw",
"low",
"_octal",
"||",
"neg",
"not",
"|",
"&",
"dd",
"==",
"_pseudo_register",
"dq",
"<<",
"_binary",
">>",
"(",
"poi",
">",
"/",
"<="
};
const int LalrGotoTable[LALR_STATE_COUNT][LALR_NONTERMINAL_COUNT]= 
{
	{6		,1		,-99		,8		,2		,4		,-99		,5		,-99		,12		,15		,-99		,13		,3		,-99		,-99		,7		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,39		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,41		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,49		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,51		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,53		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,55		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,57		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,59		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,61	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,63		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,65		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,67		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,73		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,78		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,80		,-99		,-99		,-99		,-99		,-99	},
	{81		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,82		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{6		,-99		,-99		,8		,-99		,84		,-99		,5		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,7		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{6		,-99		,-99		,8		,-99		,-99		,-99		,85		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,7		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,86		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,87		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,88		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,89		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,90		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,91		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,92		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,-99		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,-99		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,93		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,-99		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,-99		,-99		,94		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,-99		,95		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,96		,15		,-99		,13		,-99		,-99		,-99		,-99		,-99		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,15		,-99		,97		,-99		,-99		,-99		,-99		,-99		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,15		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,17		,16		,98		,-99		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,17		,16		,-99		,-99		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,17		,100		,-99		,-99		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,101		,-99		,-99		,-99		,-99		,-99		,-99		,18		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,102		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,103		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,104		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,105		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,106		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,107		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,108		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,109		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,110		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,8		,-99		,-99		,-99		,-99		,-99		,12		,15		,-99		,13		,-99		,-99		,-99		,113		,11		,17		,16		,14		,-99		,-99		,-99		,-99		,18		,9		,-99		,10		,-99		,-99	},
	{-99		,-99		,114		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,115		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,116		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,117		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,118		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,119		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,120		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,121		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,122	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,123		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,124		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,125		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	}
};
const int LalrActionTable[LALR_STATE_COUNT][LALR_TERMINAL_COUNT]= 
{
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,35		,19		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-1		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-2		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{40		,-99		,-99		,-99		,-99		,-99		,-5		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-8		,-99		,-99		,-99		,-99		,-99		,-8		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,42		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-9		,-99		,-99		,-99		,-99		,-99		,-9		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-9		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-10		,46		,-99		,48		,-99		,44		,-10		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-10		,-99		,-99		,-99		,-99		,-99		,43		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,47		,-99		,45	},
	{-20		,-20		,-99		,-20		,-99		,-20		,-20		,-99		,-99		,-99		,-99		,-99		,-20		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-20		,-99		,-99		,50		,-99		,-99		,-20		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-20		,-99		,-20	},
	{-23		,-23		,-99		,-23		,-99		,-23		,-23		,-99		,-99		,-99		,-99		,-99		,-23		,-99		,-99		,-99		,-99		,52		,-99		,-99		,-99		,-23		,-99		,-99		,-23		,-99		,-99		,-23		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-23		,-99		,-23	},
	{-26		,-26		,-99		,-26		,-99		,-26		,-26		,-99		,-99		,-99		,-99		,-99		,-26		,-99		,-99		,-99		,-99		,-26		,-99		,-99		,-99		,-26		,-99		,-99		,-26		,54		,-99		,-26		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-26		,-99		,-26	},
	{-29		,-29		,-99		,-29		,-99		,-29		,-29		,-99		,-99		,-99		,-99		,-99		,-29		,-99		,-99		,-99		,-99		,-29		,-99		,-99		,-99		,-29		,-99		,-99		,-29		,-29		,-99		,-29		,-99		,-99		,-99		,-99		,56		,-99		,-99		,-29		,-99		,-29	},
	{-32		,-32		,-99		,-32		,-99		,-32		,-32		,-99		,-99		,-99		,-99		,-99		,-32		,-99		,-99		,-99		,-99		,-32		,-99		,-99		,-99		,-32		,-99		,-99		,-32		,-32		,-99		,-32		,-99		,-99		,58		,-99		,-32		,-99		,-99		,-32		,-99		,-32	},
	{-35		,-35		,-99		,-35		,60		,-35		,-35		,-99		,-99		,-99		,-99		,-99		,-35		,-99		,-99		,-99		,-99		,-35		,-99		,-99		,-99		,-35		,-99		,-99		,-35		,-35		,-99		,-35		,-99		,-99		,-35		,-99		,-35		,-99		,-99		,-35		,-99		,-35	},
	{-38		,-38		,-99		,-38		,-38		,-38		,-38		,-99		,-99		,-99		,-99		,62		,-38		,-99		,-99		,-99		,-99		,-38		,-99		,-99		,-99		,-38		,-99		,-99		,-38		,-38		,-99		,-38		,-99		,-99		,-38		,-99		,-38		,-99		,-99		,-38		,-99		,-38	},
	{-41		,-41		,-99		,-41		,-41		,-41		,-41		,-99		,-99		,64		,-99		,-41		,-41		,-99		,-99		,-99		,-99		,-41		,-99		,-99		,-99		,-41		,-99		,-99		,-41		,-41		,-99		,-41		,-99		,-99		,-41		,-99		,-41		,-99		,-99		,-41		,-99		,-41	},
	{-44		,-44		,-99		,-44		,-44		,-44		,-44		,-99		,-99		,-44		,-99		,-44		,-44		,-99		,-99		,-99		,-99		,-44		,-99		,-99		,-99		,-44		,-99		,-99		,-44		,-44		,-99		,-44		,-99		,-99		,-44		,-99		,-44		,-99		,-99		,-44		,66		,-44	},
	{-47		,-47		,-99		,-47		,-47		,-47		,-47		,-99		,-99		,-47		,-99		,-47		,-47		,68		,-99		,-99		,-99		,-47		,-99		,-99		,-99		,-47		,-99		,-99		,-47		,-47		,-99		,-47		,-99		,-99		,-47		,-99		,-47		,-99		,-99		,-47		,-47		,-47	},
	{-48		,-48		,-99		,-48		,-48		,-48		,-48		,-99		,-99		,-48		,-99		,-48		,-48		,-48		,-99		,-99		,-99		,-48		,-99		,-99		,-99		,-48		,-99		,-99		,-48		,-48		,-99		,-48		,-99		,-99		,-48		,-99		,-48		,-99		,-99		,-48		,-48		,-48	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,69		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,70		,-99		,-99		,-99		,-99	},
	{-59		,-59		,-99		,-59		,-59		,-59		,-59		,-99		,-99		,-59		,-99		,-59		,-59		,-59		,-99		,-99		,-99		,-59		,-99		,-99		,-99		,-59		,-99		,-99		,-59		,-59		,-99		,-59		,-99		,-99		,-59		,-99		,-59		,-99		,-99		,-59		,-59		,-59	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,71		,-99		,-99		,-99		,-99	},
	{-60		,-60		,-99		,-60		,-60		,-60		,-60		,-99		,-99		,-60		,-99		,-60		,-60		,-60		,-99		,-99		,-99		,-60		,-99		,-99		,-99		,-60		,-99		,-99		,-60		,-60		,-99		,-60		,-99		,-99		,-60		,-99		,-60		,-99		,-99		,-60		,-60		,-60	},
	{-61		,-61		,-99		,-61		,-61		,-61		,-61		,-99		,-99		,-61		,-99		,-61		,-61		,-61		,-99		,-99		,-99		,-61		,-99		,-99		,-99		,-61		,-99		,-99		,-61		,-61		,-99		,-61		,-99		,-99		,-61		,-99		,-61		,-99		,-99		,-61		,-61		,-61	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,72		,-99		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,75		,-99		,-99		,-99		,-99	},
	{-64		,-64		,-99		,-64		,-64		,-64		,-64		,-99		,-99		,-64		,-99		,-64		,-64		,-64		,-99		,-99		,-99		,-64		,-99		,-99		,-99		,-64		,-99		,-99		,-64		,-64		,-99		,-64		,-99		,-99		,-64		,-99		,-64		,-99		,-99		,-64		,-64		,-64	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,76		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,77		,-99		,-99		,-99		,-99	},
	{-63		,-63		,-99		,-63		,-63		,-63		,-63		,-99		,-99		,-63		,-99		,-63		,-63		,-63		,-99		,-99		,-99		,-63		,-99		,-99		,-99		,-63		,-99		,-99		,-63		,-63		,-99		,-63		,-99		,-99		,-63		,-99		,-63		,-99		,-99		,-63		,-63		,-63	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,79		,-99		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,35		,19		,-99		,-99		,-99	},
	{-65		,-65		,-99		,-65		,-65		,-65		,-65		,-99		,-99		,-65		,-99		,-65		,-65		,-65		,-99		,-99		,-99		,-65		,-99		,-99		,-99		,-65		,-99		,-99		,-65		,-65		,-99		,-65		,-99		,-99		,-65		,-99		,-65		,-99		,-99		,-65		,-65		,-65	},
	{-62		,-62		,-99		,-62		,-62		,-62		,-62		,-99		,-99		,-62		,-99		,-62		,-62		,-62		,-99		,-99		,-99		,-62		,-99		,-99		,-99		,-62		,-99		,-99		,-62		,-62		,-99		,-62		,-99		,-99		,-62		,-99		,-62		,-99		,-99		,-62		,-62		,-62	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,83		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-3		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,35		,19		,-99		,-99		,-99	},
	{-6		,-99		,-99		,-99		,-99		,-99		,-6		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,35		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-18		,-18		,-99		,-18		,-99		,-18		,-18		,-99		,-99		,-99		,-99		,-99		,-18		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-18		,-99		,-99		,-99		,-99		,-99		,-18		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-18		,-99		,-18	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-21		,-21		,-99		,-21		,-99		,-21		,-21		,-99		,-99		,-99		,-99		,-99		,-21		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-21		,-99		,-99		,-21		,-99		,-99		,-21		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-21		,-99		,-21	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-24		,-24		,-99		,-24		,-99		,-24		,-24		,-99		,-99		,-99		,-99		,-99		,-24		,-99		,-99		,-99		,-99		,-24		,-99		,-99		,-99		,-24		,-99		,-99		,-24		,-99		,-99		,-24		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-24		,-99		,-24	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-27		,-27		,-99		,-27		,-99		,-27		,-27		,-99		,-99		,-99		,-99		,-99		,-27		,-99		,-99		,-99		,-99		,-27		,-99		,-99		,-99		,-27		,-99		,-99		,-27		,-27		,-99		,-27		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-27		,-99		,-27	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-30		,-30		,-99		,-30		,-99		,-30		,-30		,-99		,-99		,-99		,-99		,-99		,-30		,-99		,-99		,-99		,-99		,-30		,-99		,-99		,-99		,-30		,-99		,-99		,-30		,-30		,-99		,-30		,-99		,-99		,-99		,-99		,-30		,-99		,-99		,-30		,-99		,-30	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-33		,-33		,-99		,-33		,-99		,-33		,-33		,-99		,-99		,-99		,-99		,-99		,-33		,-99		,-99		,-99		,-99		,-33		,-99		,-99		,-99		,-33		,-99		,-99		,-33		,-33		,-99		,-33		,-99		,-99		,-33		,-99		,-33		,-99		,-99		,-33		,-99		,-33	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-36		,-36		,-99		,-36		,-36		,-36		,-36		,-99		,-99		,-99		,-99		,-99		,-36		,-99		,-99		,-99		,-99		,-36		,-99		,-99		,-99		,-36		,-99		,-99		,-36		,-36		,-99		,-36		,-99		,-99		,-36		,-99		,-36		,-99		,-99		,-36		,-99		,-36	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-39		,-39		,-99		,-39		,-39		,-39		,-39		,-99		,-99		,-99		,-99		,-39		,-39		,-99		,-99		,-99		,-99		,-39		,-99		,-99		,-99		,-39		,-99		,-99		,-39		,-39		,-99		,-39		,-99		,-99		,-39		,-99		,-39		,-99		,-99		,-39		,-99		,-39	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-42		,-42		,-99		,-42		,-42		,-42		,-42		,-99		,-99		,-42		,-99		,-42		,-42		,-99		,-99		,-99		,-99		,-42		,-99		,-99		,-99		,-42		,-99		,-99		,-42		,-42		,-99		,-42		,-99		,-99		,-42		,-99		,-42		,-99		,-99		,-42		,-99		,-42	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-45		,-45		,-99		,-45		,-45		,-45		,-45		,-99		,-99		,-45		,-99		,-45		,-45		,-99		,-99		,-99		,-99		,-45		,-99		,-99		,-99		,-45		,-99		,-99		,-45		,-45		,-99		,-45		,-99		,-99		,-45		,-99		,-45		,-99		,-99		,-45		,-45		,-45	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-67		,-67		,-99		,-67		,-67		,-67		,-67		,-99		,-99		,-67		,-99		,-67		,-67		,-67		,-99		,-99		,-99		,-67		,-99		,-99		,-99		,-67		,-99		,-99		,-67		,-67		,-99		,-67		,-99		,-99		,-67		,-99		,-67		,-99		,-99		,-67		,-67		,-67	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-66		,-66		,-99		,-66		,-66		,-66		,-66		,-99		,-99		,-66		,-99		,-66		,-66		,-66		,-99		,-99		,-99		,-66		,-99		,-99		,-99		,-66		,-99		,-99		,-66		,-66		,-99		,-66		,-99		,-99		,-66		,-99		,-66		,-99		,-99		,-66		,-66		,-66	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{-68		,-68		,-99		,-68		,-68		,-68		,-68		,-99		,-99		,-68		,-99		,-68		,-68		,-68		,-99		,-99		,-99		,-68		,-99		,-99		,-99		,-68		,-99		,-99		,-68		,-68		,-99		,-68		,-99		,-99		,-68		,-99		,-68		,-99		,-99		,-68		,-68		,-68	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,111		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,46		,-99		,48		,-99		,44		,-99		,-99		,-99		,-99		,-99		,-99		,112		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,43		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,47		,-99		,45	},
	{-99		,-99		,34		,-99		,26		,-99		,-99		,27		,37		,-99		,29		,32		,-99		,-99		,24		,23		,21		,-99		,38		,25		,31		,-99		,22		,33		,-99		,-99		,20		,-99		,36		,30		,-99		,28		,-99		,74		,19		,-99		,-99		,-99	},
	{40		,-99		,-99		,-99		,-99		,-99		,-5		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-8		,-99		,-99		,-99		,-99		,-99		,-8		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,42		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-15		,-99		,-99		,-99		,-99		,-99		,-15		,-99		,-99		,-99		,-99		,-99		,-15		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-15		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-12		,-99		,-99		,-99		,-99		,-99		,-12		,-99		,-99		,-99		,-99		,-99		,-12		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-12		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-14		,-99		,-99		,-99		,-99		,-99		,-14		,-99		,-99		,-99		,-99		,-99		,-14		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-14		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-13		,-99		,-99		,-99		,-99		,-99		,-13		,-99		,-99		,-99		,-99		,-99		,-13		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-13		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-11		,-99		,-99		,-99		,-99		,-99		,-11		,-99		,-99		,-99		,-99		,-99		,-11		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-11		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-16		,-99		,-99		,-99		,-99		,-99		,-16		,-99		,-99		,-99		,-99		,-99		,-16		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-16		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-20		,-20		,-99		,-20		,-99		,-20		,-20		,-99		,-99		,-99		,-99		,-99		,-20		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-20		,-99		,-99		,50		,-99		,-99		,-20		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-20		,-99		,-20	},
	{-23		,-23		,-99		,-23		,-99		,-23		,-23		,-99		,-99		,-99		,-99		,-99		,-23		,-99		,-99		,-99		,-99		,52		,-99		,-99		,-99		,-23		,-99		,-99		,-23		,-99		,-99		,-23		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-23		,-99		,-23	},
	{-26		,-26		,-99		,-26		,-99		,-26		,-26		,-99		,-99		,-99		,-99		,-99		,-26		,-99		,-99		,-99		,-99		,-26		,-99		,-99		,-99		,-26		,-99		,-99		,-26		,54		,-99		,-26		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-26		,-99		,-26	},
	{-29		,-29		,-99		,-29		,-99		,-29		,-29		,-99		,-99		,-99		,-99		,-99		,-29		,-99		,-99		,-99		,-99		,-29		,-99		,-99		,-99		,-29		,-99		,-99		,-29		,-29		,-99		,-29		,-99		,-99		,-99		,-99		,56		,-99		,-99		,-29		,-99		,-29	},
	{-32		,-32		,-99		,-32		,-99		,-32		,-32		,-99		,-99		,-99		,-99		,-99		,-32		,-99		,-99		,-99		,-99		,-32		,-99		,-99		,-99		,-32		,-99		,-99		,-32		,-32		,-99		,-32		,-99		,-99		,58		,-99		,-32		,-99		,-99		,-32		,-99		,-32	},
	{-35		,-35		,-99		,-35		,60		,-35		,-35		,-99		,-99		,-99		,-99		,-99		,-35		,-99		,-99		,-99		,-99		,-35		,-99		,-99		,-99		,-35		,-99		,-99		,-35		,-35		,-99		,-35		,-99		,-99		,-35		,-99		,-35		,-99		,-99		,-35		,-99		,-35	},
	{-38		,-38		,-99		,-38		,-38		,-38		,-38		,-99		,-99		,-99		,-99		,62		,-38		,-99		,-99		,-99		,-99		,-38		,-99		,-99		,-99		,-38		,-99		,-99		,-38		,-38		,-99		,-38		,-99		,-99		,-38		,-99		,-38		,-99		,-99		,-38		,-99		,-38	},
	{-41		,-41		,-99		,-41		,-41		,-41		,-41		,-99		,-99		,64		,-99		,-41		,-41		,-99		,-99		,-99		,-99		,-41		,-99		,-99		,-99		,-41		,-99		,-99		,-41		,-41		,-99		,-41		,-99		,-99		,-41		,-99		,-41		,-99		,-99		,-41		,-99		,-41	},
	{-44		,-44		,-99		,-44		,-44		,-44		,-44		,-99		,-99		,-44		,-99		,-44		,-44		,-99		,-99		,-99		,-99		,-44		,-99		,-99		,-99		,-44		,-99		,-99		,-44		,-44		,-99		,-44		,-99		,-99		,-44		,-99		,-44		,-99		,-99		,-44		,66		,-44	},
	{-47		,-47		,-99		,-47		,-47		,-47		,-47		,-99		,-99		,-47		,-99		,-47		,-47		,68		,-99		,-99		,-99		,-47		,-99		,-99		,-99		,-47		,-99		,-99		,-47		,-47		,-99		,-47		,-99		,-99		,-47		,-99		,-47		,-99		,-99		,-47		,-47		,-47	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,126		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,127		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,128		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,129		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,112		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,130		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,131		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,132		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,133		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-17		,-99		,-99		,-99		,-99		,-99		,-17		,-99		,-99		,-99		,-99		,-99		,-17		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-17		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-58		,-58		,-99		,-58		,-58		,-58		,-58		,-99		,-99		,-58		,-99		,-58		,-58		,-58		,-99		,-99		,-99		,-58		,-99		,-99		,-99		,-58		,-99		,-99		,-58		,-58		,-99		,-58		,-99		,-99		,-58		,-99		,-58		,-99		,-99		,-58		,-58		,-58	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,134		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-99		,-99		,-99		,-99		,-99		,-99		,-4		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-7		,-99		,-99		,-99		,-99		,-99		,-7		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99	},
	{-19		,-19		,-99		,-19		,-99		,-19		,-19		,-99		,-99		,-99		,-99		,-99		,-19		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-19		,-99		,-99		,-99		,-99		,-99		,-19		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-19		,-99		,-19	},
	{-22		,-22		,-99		,-22		,-99		,-22		,-22		,-99		,-99		,-99		,-99		,-99		,-22		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-22		,-99		,-99		,-22		,-99		,-99		,-22		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-22		,-99		,-22	},
	{-25		,-25		,-99		,-25		,-99		,-25		,-25		,-99		,-99		,-99		,-99		,-99		,-25		,-99		,-99		,-99		,-99		,-25		,-99		,-99		,-99		,-25		,-99		,-99		,-25		,-99		,-99		,-25		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-25		,-99		,-25	},
	{-28		,-28		,-99		,-28		,-99		,-28		,-28		,-99		,-99		,-99		,-99		,-99		,-28		,-99		,-99		,-99		,-99		,-28		,-99		,-99		,-99		,-28		,-99		,-99		,-28		,-28		,-99		,-28		,-99		,-99		,-99		,-99		,-99		,-99		,-99		,-28		,-99		,-28	},
	{-31		,-31		,-99		,-31		,-99		,-31		,-31		,-99		,-99		,-99		,-99		,-99		,-31		,-99		,-99		,-99		,-99		,-31		,-99		,-99		,-99		,-31		,-99		,-99		,-31		,-31		,-99		,-31		,-99		,-99		,-99		,-99		,-31		,-99		,-99		,-31		,-99		,-31	},
	{-34		,-34		,-99		,-34		,-99		,-34		,-34		,-99		,-99		,-99		,-99		,-99		,-34		,-99		,-99		,-99		,-99		,-34		,-99		,-99		,-99		,-34		,-99		,-99		,-34		,-34		,-99		,-34		,-99		,-99		,-34		,-99		,-34		,-99		,-99		,-34		,-99		,-34	},
	{-37		,-37		,-99		,-37		,-37		,-37		,-37		,-99		,-99		,-99		,-99		,-99		,-37		,-99		,-99		,-99		,-99		,-37		,-99		,-99		,-99		,-37		,-99		,-99		,-37		,-37		,-99		,-37		,-99		,-99		,-37		,-99		,-37		,-99		,-99		,-37		,-99		,-37	},
	{-40		,-40		,-99		,-40		,-40		,-40		,-40		,-99		,-99		,-99		,-99		,-40		,-40		,-99		,-99		,-99		,-99		,-40		,-99		,-99		,-99		,-40		,-99		,-99		,-40		,-40		,-99		,-40		,-99		,-99		,-40		,-99		,-40		,-99		,-99		,-40		,-99		,-40	},
	{-43		,-43		,-99		,-43		,-43		,-43		,-43		,-99		,-99		,-43		,-99		,-43		,-43		,-99		,-99		,-99		,-99		,-43		,-99		,-99		,-99		,-43		,-99		,-99		,-43		,-43		,-99		,-43		,-99		,-99		,-43		,-99		,-43		,-99		,-99		,-43		,-99		,-43	},
	{-46		,-46		,-99		,-46		,-46		,-46		,-46		,-99		,-99		,-46		,-99		,-46		,-46		,-99		,-99		,-99		,-99		,-46		,-99		,-99		,-99		,-46		,-99		,-99		,-46		,-46		,-99		,-46		,-99		,-99		,-46		,-99		,-46		,-99		,-99		,-46		,-46		,-46	},
	{-49		,-49		,-99		,-49		,-49		,-49		,-49		,-99		,-99		,-49		,-99		,-49		,-49		,-49		,-99		,-99		,-99		,-49		,-99		,-99		,-99		,-49		,-99		,-99		,-49		,-49		,-99		,-49		,-99		,-99		,-49		,-99		,-49		,-99		,-99		,-49		,-49		,-49	},
	{-51		,-51		,-99		,-51		,-51		,-51		,-51		,-99		,-99		,-51		,-99		,-51		,-51		,-51		,-99		,-99		,-99		,-51		,-99		,-99		,-99		,-51		,-99		,-99		,-51		,-51		,-99		,-51		,-99		,-99		,-51		,-99		,-51		,-99		,-99		,-51		,-51		,-51	},
	{-54		,-54		,-99		,-54		,-54		,-54		,-54		,-99		,-99		,-54		,-99		,-54		,-54		,-54		,-99		,-99		,-99		,-54		,-99		,-99		,-99		,-54		,-99		,-99		,-54		,-54		,-99		,-54		,-99		,-99		,-54		,-99		,-54		,-99		,-99		,-54		,-54		,-54	},
	{-56		,-56		,-99		,-56		,-56		,-56		,-56		,-99		,-99		,-56		,-99		,-56		,-56		,-56		,-99		,-99		,-99		,-56		,-99		,-99		,-99		,-56		,-99		,-99		,-56		,-56		,-99		,-56		,-99		,-99		,-56		,-99		,-56		,-99		,-99		,-56		,-56		,-56	},
	{-55		,-55		,-99		,-55		,-55		,-55		,-55		,-99		,-99		,-55		,-99		,-55		,-55		,-55		,-99		,-99		,-99		,-55		,-99		,-99		,-99		,-55		,-99		,-99		,-55		,-55		,-99		,-55		,-99		,-99		,-55		,-99		,-55		,-99		,-99		,-55		,-55		,-55	},
	{-50		,-50		,-99		,-50		,-50		,-50		,-50		,-99		,-99		,-50		,-99		,-50		,-50		,-50		,-99		,-99		,-99		,-50		,-99		,-99		,-99		,-50		,-99		,-99		,-50		,-50		,-99		,-50		,-99		,-99		,-50		,-99		,-50		,-99		,-99		,-50		,-50		,-50	},
	{-53		,-53		,-99		,-53		,-53		,-53		,-53		,-99		,-99		,-53		,-99		,-53		,-53		,-53		,-99		,-99		,-99		,-53		,-99		,-99		,-99		,-53		,-99		,-99		,-53		,-53		,-99		,-53		,-99		,-99		,-53		,-99		,-53		,-99		,-99		,-53		,-53		,-53	},
	{-57		,-57		,-99		,-57		,-57		,-57		,-57		,-99		,-99		,-57		,-99		,-57		,-57		,-57		,-99		,-99		,-99		,-57		,-99		,-99		,-99		,-57		,-99		,-99		,-57		,-57		,-99		,-57		,-99		,-99		,-57		,-99		,-57		,-99		,-99		,-57		,-57		,-57	},
	{-52		,-52		,-99		,-52		,-52		,-52		,-52		,-99		,-99		,-52		,-99		,-52		,-52		,-52		,-99		,-99		,-99		,-52		,-99		,-99		,-99		,-52		,-99		,-99		,-52		,-52		,-99		,-52		,-99		,-99		,-52		,-99		,-52		,-99		,-99		,-52		,-52		,-52	}
};
const struct _TOKEN LalrSemanticRules[RULES_COUNT]= 
{
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@AND"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@OR"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@GT"},
	{SEMANTIC_RULE, "@LT"},
	{SEMANTIC_RULE, "@EGT"},
	{SEMANTIC_RULE, "@ELT"},
	{SEMANTIC_RULE, "@EQUAL"},
	{SEMANTIC_RULE, "@NEQ"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@OR"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@XOR"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@AND"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@ASR"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@ASL"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@ADD"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@SUB"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@MUL"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@DIV"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@MOD"},
	{UNKNOWN, ""},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@POI"},
	{SEMANTIC_RULE, "@DB"},
	{SEMANTIC_RULE, "@DD"},
	{SEMANTIC_RULE, "@DW"},
	{SEMANTIC_RULE, "@DQ"},
	{SEMANTIC_RULE, "@NEG"},
	{SEMANTIC_RULE, "@HI"},
	{SEMANTIC_RULE, "@LOW"},
	{SEMANTIC_RULE, "@NOT"},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@PUSH"},
	{SEMANTIC_RULE, "@PUSH"},
	{SEMANTIC_RULE, "@PUSH"},
	{SEMANTIC_RULE, "@PUSH"},
	{SEMANTIC_RULE, "@PUSH"},
	{SEMANTIC_RULE, "@PUSH"},
	{SEMANTIC_RULE, "@PUSH"},
	{SEMANTIC_RULE, "@NEG"},
	{UNKNOWN, ""},
	{SEMANTIC_RULE, "@NEG"},
	{UNKNOWN, ""}
};
